import axios from 'axios'

// 支持 window 变量动态配置后端地址
const baseURL = window.APP_CONFIG?.BASE_API || '/api'

// 创建axios实例
const service = axios.create({
  baseURL,
  timeout: 5000
})

/**
 * 获取技能列表
 * @param {Object} params - 查询参数
 * @param {number} params.pageNum - 当前页码
 * @param {number} params.pageSize - 每页数量
 * @param {string} [params.skillName] - 技能名称
 * @param {number} [params.isCompleted] - 完成状态（1-已完成，2-未完成）
 * @returns {Promise}
 */
export function getSkillList(params) {
  return service({
    url: '/todo/skill/list',
    method: 'post',
    data: params
  })
}

/**
 * 获取技能详情
 * @param {number} id - 技能ID
 * @returns {Promise}
 */
export function getSkillDetail(id) {
  return service({
    url: `/todo/skill/${id}`,
    method: 'get'
  })
}

/**
 * 创建新技能
 * @param {Object} data - 技能数据
 * @param {string} data.skillName - 技能名称
 * @param {string} data.stages - 阶段
 * @param {number} data.isCompleted - 完成状态（1-已完成，2-未完成）
 * @returns {Promise}
 */
export function createSkill(data) {
  return service({
    url: '/todo/skill',
    method: 'post',
    data
  })
}

/**
 * 更新技能
 * @param {Object} data - 技能数据
 * @param {number} data.id - 技能ID
 * @param {string} [data.skillName] - 技能名称
 * @param {string} [data.stages] - 阶段
 * @param {number} [data.isCompleted] - 完成状态
 * @returns {Promise}
 */
export function updateSkill(data) {
  return service({
    url: '/todo/skill',
    method: 'put',
    data
  })
}

/**
 * 更新产出
 * @param {Object} data - 技能数据
 * @param {number} data.id - 技能ID
 * @param {string} [data.skillName] - 技能名称
 * @param {string} [data.stages] - 阶段
 * @param {number} [data.isCompleted] - 完成状态
 * @returns {Promise}
 */
export function produce(data) {
  return service({
    url: '/todo/produce',
    method: 'post',
    data
  })
}

/**
 * 删除技能
 * @param {number} id - 技能ID
 * @returns {Promise}
 */
export function deleteSkill(id) {
  return service({
    url: `/todo/skill/${id}`,
    method: 'delete'
  })
} 



/**
 * 获取技能详情
 * @param {number} id - 技能ID
 * @returns {Promise}
 */
export function getTask() {
  return service({
    url: `/todo/skill/getTask`,
    method: 'get'
  })
}
